package com.company.oa.hr.service.employee;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.company.oa.hr.entity.employee.Attendance;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface AttendanceService extends IService<Attendance> {
    
    /**
     * 分页查询考勤记录
     */
    IPage<Map<String, Object>> getAttendancePage(int page, int size, Attendance attendance);
    
    /**
     * 员工签到
     */
    boolean checkIn(Long employeeId);
    
    /**
     * 员工签退
     */
    boolean checkOut(Long employeeId);
    
    /**
     * 获取员工某日考勤记录
     */
    Attendance getEmployeeAttendanceByDate(Long employeeId, Date date);
    
    /**
     * 获取员工某月考勤统计
     */
    Map<String, Object> getEmployeeMonthlyAttendance(Long employeeId, Date month);
    
    /**
     * 批量导入考勤记录
     */
    boolean batchImportAttendance(List<Attendance> attendanceList);
} 